1. Field of the Invention
The present invention relates to a computer system, and deals more particularly with methods, systems, and computer program products for performing intelligent free-time searches (for example, to improve scheduling of meetings) of information such as that used with electronic calendars.
2. Description of the Related Art
Calendars, and electronic calendars in particular, often contain a wealth of information about their owner. For example, an individual may use an electronic calendar to maintain information about his work schedule, his meetings and other appointments, his vacation and business travel plans (including when he will be away, which flights or other transportation he will use, where he can be reached while away, who he may visit while away, etc.), phone calls that need to be made at particular times, and so forth. Examples of electronic calendaring systems include Microsoft Outlook® 2000 and Lotus Notes®. (“Outlook” is a registered trademark of Microsoft Corporation, and “Lotus Notes” is a registered trademark of Lotus Development Corporation.)
Use of electronic calendaring systems for purposes such as scheduling meetings of multiple persons is known in the art. For example, an invitation list may be created for a particular meeting, and a calendaring software application may then use this list to check each invitee's calendar for available time periods. A meeting may then be scheduled during a time period in which all (or some majority) of the invitees have sufficient time available on their calendar. However, prior art scheduling capabilities in calendaring systems have limitations which can render them ineffective in many scenarios. In particular, scheduling meetings between multiple people using prior art techniques is typically a time-consuming task that often involves many iterations. It may either fail to accommodate considerations beyond rudimentary duration requirements or may require significant manual input to handle such considerations, or it may find only unacceptably late dates.
Scheduling capability in prior art electronic calendaring systems, when present, is typically limited to a rudimentary “free-time search” which only looks for blocks of free time on the users' calendars. However, using just free time may generate results that are too constrained in some scenarios or results that are not constrained enough in other scenarios. As an example of results that are too constrained when based solely on free time, it may be acceptable for a particular meeting to have one or more of the invitees participate by phone (rather than requiring them to be present in person); these invitees might be willing to call in to the meeting from their cell phones while they are commuting, or they might be willing to call in after normal business hours, or from an alternate work location or travel destination. For these cases, the person's calendar would ordinarily indicate that they are in an “unavailable” status of one type or another (that is, the commuting, after hours, at alternate work location, or traveling status would not be recognized as “free time” in which meetings could be scheduled). As an example of results that are not sufficiently constrained when based solely on free time, it may happen that some invitees need to be present at the meeting in person, in which case the location of the person is important (in terms of their ability to get to the meeting location), not just whether there is free time on the person's calendar.
The following scenarios illustrate various factors that are not addressed by prior art calendaring systems or their scheduling capabilities. (These calendaring systems and search capabilities are referred to herein generally as “prior art systems”.)
Scenario 1: Prior art systems do not understand nuances related to the physical location of the invitees. Suppose, for purposes of illustration, that Joe works at the Research Triangle Park (“RTP”) site of International Business Machines Corporation (“IBM”), where this RTP site comprises many buildings, some of which are in close physical proximity to each other but others of which are located several miles away. Further suppose that Joe wants to schedule a one-hour, in-person meeting with ten other people who are also located at the RTP site. Joe may use a prior art free-time search capability to search the electronic calendars for the invitees to find one hour where all ten meeting invitees are available. Assuming that all ten people have a common one-hour period available, this time period is selected, and programmatically generated meeting invitations are sent electronically to each invitee. Upon receiving their invitation, several of the invitees decline the invitation because they are located in buildings from which travel time will be required to get to and from the meeting, and they have events already scheduled on either side of the new meeting which prevent their being able to arrive at the next meeting on time. Joe did not manually factor this consideration into the schedule for this meeting, and the prior art free-time search does not have this capability. So, Joe must now find a different hour when everyone can meet, and must also factor in the various travel times for those people who he determines will have to travel. This is a time-consuming effort that requires Joe to not only know the locations of every invitee before and after the proposed meeting and the time it takes to move between these locations and the meeting location, but to also use a combination of free-time search, manual calendar search, and contacting people directly before he can find an appropriate time for the meeting.
There might be other criteria to consider as well, further complicating the scheduling process. For example, some individuals may have travel constraints (such as “Betty participates in a car pool on Tuesdays and Thursdays and therefore has no car”) which prevent them from being able to travel to a meeting at another location.
Scenario 2: Prior art systems do not understand availability beyond simple free time. Suppose now that Joe needs to schedule a one-hour “e-meeting” with Elaine. (An e-meeting may use technology such as Lotus Sametime® or Microsoft's NetMeeting®, which allow people to hold “face-to-face” conversations over the Internet from their computing device. “Sametime” is a registered trademark of Lotus Development Corporation, and “NetMeeting” is a registered trademark of Microsoft Corporation.) Elaine has many events on her calendar, including an out-of-town business trip scheduled for the current week (with meetings scheduled every afternoon), all-day workshops the next week, and vacation the following week. Therefore, when Joe uses a prior art free-time search to search her calender for one hour of free time, he finds that Elaine won't be available for three weeks. Joe gives up using the automated scheduling system, and calls Elaine's secretary who informs him that Elaine is actually available any morning during her business trip for a one-hour e-meeting. Joe could not determine this by simply looking at Elaine's calendar, and the prior art free-time search is not programmed with this capability.
Scenario 3: Prior art systems do not understand constraints of particular locations and/or policies that impact a person's availability. Suppose that Joe needs to talk to Fred, who travels from one customer site to another in a five-state region. Joe looks at Fred's calendar, and decides to schedule a call during a time in which Fred is scheduled to drive from one customer location to another. What Joe doesn't understand from merely inspecting the entries on Fred's calendar is that Fred will be driving in a state that prohibits cell phone calls while driving. Thus, Joe schedules the meeting, only to learn that it has to be rescheduled. Using the prior art free-time search to find time on Fred's calendar would have not helped in this situation: the automated search would be impaired by the same missing information that Joe needed when manually inspecting Fred's calendar.
In another aspect of this scenario, if the meeting is to discuss confidential topics and corporate policy prohibits discussing confidential information over cell phones, then Joe would need to understand this and not schedule the call while Fred is driving (or during other times when Fred is reachable only by cell phone).
Scenario 4: Prior art systems do not understand capabilities/limitations of various technologies. In yet another aspect of the scenario described above, where Joe wants to reach Fred by cell phone, it might happen that Fred is traveling through a location that allows cell phone calls while driving, provided the cell phone is operated in a “hands-free” mode. Before he could successfully schedule a call with Fred, Joe would have to understand not only where Fred would be at the selected time and any applicable constraints of that location, but also the capabilities of Fred's phone.
Scenario 5: As another example of technology-related constraints, suppose that Joe needs to set up an e-meeting with Barney. Further suppose that Barney is working from home today, according to his calendar. Joe has a high-speed connection in his office, and assumes that everyone else has similar capabilities, so he decides to set up the meeting for today. Barney, however, has a low-speed connection at home. The e-meeting is a disaster, due to the slow line speed.
Scenario 6: Prior art systems do not understand nuances of blocked time, such as time periods marked as having a “local travel” status. Suppose that Joe is trying to schedule a meeting with Wilma at noon in Building number 500. Wilma is in this building from 11 a.m. to noon, according to her calendar, and then has “local travel” scheduled on her calendar from noon until 12:15, giving her time to drive back to her office which is located several miles away in another building. The prior art free-time search would not show that Wilma is actually available at noon in Building number 500.
Accordingly, what is needed are improved scheduling/searching techniques, where these improved techniques consider factors beyond availability of free-time segments on a user's calendar.